package com.xintoucloud.gsv.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.xintoucloud.gsv.entity.SuperVision;
import com.xintoucloud.gsv.model.DataGrid;
import com.xintoucloud.gsv.model.SuperVisionDto;

@Service
public interface SuperVisionService {
	/**
	 * 发起督办
	 * @param superVision
	 */
	void save(SuperVision superVision);
	/**
	 * 查询督办信息
	 * @return
	 */	
	List<SuperVision> list();
	/**
	 * 分页查询
	 * @return
	 */
	DataGrid<SuperVisionDto> listPage(int page,int size);
	/**
	 * 草稿分页查询
	 * @param page
	 * @param size
	 * @return
	 */
	DataGrid<SuperVisionDto> listDraftPage(int page,int size);
	/**
	 * 待签收督查管理分页查询
	 * @param page
	 * @param size
	 * @return
	 */
	DataGrid<SuperVisionDto> listWaitRegisterPage(int page,int size);
	/**
	 * 待部门回复督查管理分页查询
	 * @param page
	 * @param size
	 * @return
	 */
	DataGrid<SuperVisionDto> listWaitDirectReply(int page,int size,int did);
	/**
	 * 待分管领导回复督查管理分页查询
	 * @param page
	 * @param size
	 * @return
	 */
	DataGrid<SuperVisionDto> listWaitLeaderReply(int page,int size,int uid);
	/**
	 * 待正职审核督查管理分页查询
	 * @param page
	 * @param size
	 * @return
	 */
	DataGrid<SuperVisionDto> listWaitDutyConfirm(int page,int size,int did);
	/**
	 * 待督查工作人员审核督查管理分页查询
	 * @param page
	 * @param size
	 * @return
	 */
	DataGrid<SuperVisionDto> listWaitVisionConfirm(int page,int size);
	/**
	 * 督办消息分页查询
	 * @param page
	 * @param size
	 * @param did 部门id
	 * @return
	 */
	DataGrid<SuperVisionDto> listMessagePage(int page,int size,int did);
	/**
	 * 删除督办信息
	 * @param svid
	 */
	void deleteSuperVision(int svid);
	/**
	 * 获取督办信息
	 * @param svid
	 */
	SuperVision getSuperVision(int svid);
	/**
	 * 更新督办信息
	 * @param superVision
	 */
	void update(SuperVision superVision);
	/**
	 * 
	 * @param svid
	 * @param endTime
	 */
	void updateTime(int svid,String confirmTime);
	/**
	 * 更新督办状态
	 * @param superVision
	 */
	void updateStid(int stid,int svid);
	/**
	 * 
	 * @param dname
	 */
	void selectDepartment(String dname);
	/**
	 * 
	 * @param dname
	 */
	long count(int stid);
}
